import request from '@/config/axios'

// 网站管理 VO
export interface WebSiteVO {
  webLogo?: string // 网站logo
  webIcon?: string // 网站图标
  webName?: string // 网站名称
  domain?: string // 域名
  area?: string // 地区
  userId?: number // 创建用户id
  deptId?: number // 创建部门id
  language?: string // 语言
  status?: number // 0 正常 1未验证 2 验证中 3 异常
  dataScope?: number // 站点权限 0 仅自己 1 所有人 3 指定人员
  dataScopeUserIds?: string | Array // 指定用户数组
  dataScopeDeptIds?: string // 指定部门数组
  templateId?: number // 模板id
  carousel?: string // 轮播图,多个用逗号分隔
  servicePolicyId?: number // 服务政策id
  contactUs?: string // 联系我们
  fbIndex?: string // fb公共主页
  isIntegratedStation?: number // 商品详情页是否开启综合站风格(0 是 1否)
  remark?: string // 备注
  isTop?: boolean // 是否置顶（0是1否）
  areaId?: number // 地区id
  type?: number // 站点类型 0 PC 1 H5
}

// 网站管理 API
export const WebSiteApi = {
  // 查询网站管理分页
  getWebSitePage: async (params: any) => {
    return await request.get({ url: `/website/web-site/page`, params })
  },

  // 查询网站管理详情
  getWebSite: async (id: number) => {
    return await request.get({ url: `/website/web-site/get?id=` + id })
  },

  // 新增网站管理
  createWebSite: async (data: WebSiteVO) => {
    return await request.post({ url: `/website/web-site/create`, data })
  },

  // 修改网站管理
  updateWebSite: async (data: WebSiteVO) => {
    return await request.put({ url: `/website/web-site/update`, data })
  },

  // 删除网站管理
  deleteWebSite: async (id: number) => {
    return await request.delete({ url: `/website/web-site/delete?id=` + id })
  },

  // 导出网站管理 Excel
  exportWebSite: async (params) => {
    return await request.download({ url: `/website/web-site/export-excel`, params })
  },
  // 复制网站管理
  copyWebSite: async (data: WebSiteVO) => {
    return await request.post({ url: `/website/web-site/copy`, data })
  },
  // 批量验证
  batchDomainVerification: async (data) => {
    return await request.post({
      url: `/website/web-site/batch-domain-verification`,
      data
    })
  },
  // 获取DNS解析说明
  getDnsInstructions: async (id: number) => {
    return await request.get({ url: `/website/web-site/dns-instructions/${id}` })
  },
  // 清除站点数据
  clearSiteData: async (id) => {
    return await request.put({ url: `/website/web-site/clear-site-data?id=` + id })
  },
  // 网站导航列表
  getWebNavigationPage: async (params) => {
    return await request.get({ url: `/website/web-navigation/page`, params })
  },
  // 获得导航设置树形结构
  getWebNavigationTree: async (params) => {
    return await request.get({ url: `/website/web-navigation/tree`, params })
  },
  // 分页查询导航关联分类(编辑的时候回显的分类列表)
  getWebNavigationCategoryPage: async (params) => {
    return await request.get({ url: `/website/web-navigation/category-page`, params })
  },
  // 查询分类列表（用于导航关联）
  getWebNavigationCategoryList: async (params) => {
    return await request.get({ url: `/website/web-navigation/category-list`, params })
  },
  // 新增网站导航
  createWebNavigation: async (data) => {
    return await request.post({ url: `/website/web-navigation/create`, data })
  },
  // 查询网站导航详情
  getWebNavigation: async (id: number) => {
    return await request.get({ url: `/website/web-navigation/get?id=` + id })
  },
  // 更新导航设置
  updateWebNavigation: async (data) => {
    return await request.put({ url: `/website/web-navigation/update`, data })
  },
  // 删除网站导航
  deleteWebNavigation: async (id: number) => {
    return await request.delete({ url: `/website/web-navigation/delete?id=` + id })
  },
  // 分页查询导航关联商品
  getWebNavigationProductPage: async (params) => {
    return await request.get({ url: `/website/web-navigation/product-page`, params })
  },
  // 获取域名验证状态
  getDomainVerification: async (id: number) => {
    return await request.get({ url: `/website/web-site/domain-verification/${id}` })
  },
  // 切换网站置顶状态
  // /admin-api/website/web-site/toggle-top
  toggleTop: async (id: number) => {
    return await request.put({ url: `/website/web-site/toggle-top?id=` + id })
  },
  // 导出网站DNS记录 Excel
  exportDnsExcel: async (params) => {
    return await request.download({ url: `/website/web-site/export-dns-excel`, params})
  },
}
